#ifndef _MDEBUG_H_
#define _MDEBUG_H_

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>

/*定义debug方便调试*/
#ifdef _MDEBUG
	#define debug(arg...)		printf(arg);
	#define debug_msg()			printf("FILE:%s, Function:%s, Line:%d\n", __FILE__, __FUNCTION__, __LINE__ )
#else
	#define debug(arg...)
	#define debug_msg()
#endif

/*定义r_perr错误处理，返回-1*/
#define r_perr(arg...) do {					\
							fprintf(stderr, arg);	\
							fprintf(stderr, ":%s\n", strerror(errno));\
							return -1;		\
					}while(0)

/*定义e_perr错误处理，结束程序运行*/
#define e_perr(arg...) do {				\
							fprintf(stderr, arg);	\
							fprintf(stderr, ":%s\n",  strerror(errno));\
							exit(-1);		\
					}while(0);

/*定义v_perr错误出来，返回空指针*/
#define v_perr(arg...) do {				\
							fprintf(stderr, arg);	\
							fprintf(stderr, ":%s\n",  strerror(errno));\
							return NULL;	\
					}while(0);

#endif
